package com.pearadmin.pro.modules.stu.domain;

import java.util.Date;

import com.pearadmin.pro.modules.mkt.domain.MktContractDetail;
import lombok.Data;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.pearadmin.pro.common.web.base.domain.BaseDomain;
import lombok.Data;
import org.apache.ibatis.type.Alias;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;
import java.util.List;

/**
 * 商机管理-学生信息对象 scrm_stu_busp
 *
 * @author chenJian
 * @date 2021-09-09
 */
@Data
@Alias("StuBusp")
@TableName("scrm_stu_busp")
public class StuBusp extends BaseDomain {

    /**
     * ID
     */
    @TableField("id")
    @ApiModelProperty(value = "ID")
    private Long id;

    /**
     * 姓名
     */
    @TableField("stu_name")
    @ApiModelProperty(value = "姓名")
    private String stuName;

    /**
     * 姓
     */
    @TableField("surname")
    @ApiModelProperty(value = "姓")
    private String surname;

    /**
     * 名
     */
    @TableField("given_name")
    @ApiModelProperty(value = "名")
    private String givenName;

    /**
     * 头像地址
     */
    @TableField("head_url")
    @ApiModelProperty(value = "头像地址")
    private String headUrl;

    /**
     * 性别:1男2女
     */
    @TableField("sex")
    @ApiModelProperty(value = "性别:1男2女")
    private Long sex;

    /**
     * 证件类型1:身份证2:护照号
     */
    @TableField("papers_type")
    @ApiModelProperty(value = "证件类型1:身份证2:护照号")
    private Long papersType;

    /**
     * 证件号码
     */
    @TableField("paper_num")
    @ApiModelProperty(value = "证件号码")
    private String paperNum;

    /**
     * 出生日期
     */
    @TableField("date_birth")
    @ApiModelProperty(value = "出生日期")
    private Date dateBirth;

    /**
     * 出身地
     */
    @TableField("birth_add")
    @ApiModelProperty(value = "出身地")
    private String birthAdd;

    /**
     * 国籍
     */
    @TableField("nationality")
    @ApiModelProperty(value = "国籍")
    private String nationality;

    /**
     * 渠道来源
     */
    @TableField("chn_source")
    @ApiModelProperty(value = "渠道来源")
    private String chnSource;

    /**
     * 渠道名
     */
    @TableField("chn_name")
    @ApiModelProperty(value = "渠道名")
    private String chnName;

    /**
     * 意向程度
     */
    @TableField("inter_degree")
    @ApiModelProperty(value = "意向程度")
    private String interDegree;

    /**
     * 销售负责人
     */
    @TableField("sale_head")
    @ApiModelProperty(value = "销售负责人")
    private String saleHead;

    /**
     * ASD负责人
     */
    @TableField("asd_head")
    @ApiModelProperty(value = "ASD负责人")
    private String asdHead;

    /**
     * 活动负责人
     */
    @TableField("act_head")
    @ApiModelProperty(value = "市场负责人")
    private String actHead;

    /**
     * 联系地址
     */
    @TableField("rela_add")
    @ApiModelProperty(value = "联系地址")
    private String relaAdd;

    /**
     * 邮编号
     */
    @TableField("postal_code")
    @ApiModelProperty(value = "邮编号")
    private String postalCode;

    /**
     * 签证类型
     */
    @TableField("visa_type")
    @ApiModelProperty(value = "签证类型")
    private String visaType;

    /**
     * 国内电话
     */
    @TableField("local_phone")
    @ApiModelProperty(value = "国内电话")
    private String localPhone;

    /**
     * 海外电话
     */
    @TableField("os_phone")
    @ApiModelProperty(value = "海外电话")
    private String osPhone;

    /**
     * 邮箱
     */
    @TableField("email")
    @ApiModelProperty(value = "邮箱")
    private String email;

    /**
     * 备用邮箱
     */
    @TableField("back_email")
    @ApiModelProperty(value = "备用邮箱")
    private String backEmail;

    /**
     * 最高学历
     */
    @TableField("edu_type")
    @ApiModelProperty(value = "最高学历")
    private String eduType;

    /**
     * 国籍所在地开始居住时间
     */
    @TableField("live_btime")
    @ApiModelProperty(value = "国籍所在地开始居住时间")
    private Date liveBtime;

    /**
     * 国家
     */
    @TableField("country")
    @ApiModelProperty(value = "国家")
    private String country;

    /**
     * 省份
     */
    @TableField("province")
    @ApiModelProperty(value = "省份")
    private String province;

    /**
     * 城市
     */
    @TableField("city")
    @ApiModelProperty(value = "城市")
    private String city;

    /**
     * 详细地址
     */
    @TableField("add_detail")
    @ApiModelProperty(value = "详细地址")
    private String addDetail;
    /**
     * 永久居住地邮编
     */
    @TableField("live_post_code")
    @ApiModelProperty(value = "永久居住地邮编")
    private String livePostCode;

    /**
     * 紧急联系人姓名
     */
    @TableField("urg_name")
    @ApiModelProperty(value = "紧急联系人姓名")
    private String urgName;

    /**
     * 紧急联系人电话
     */
    @TableField("urg_phone")
    @ApiModelProperty(value = "紧急联系人电话")
    private String urgPhone;

    /**
     * 紧急联系人关系
     */
    @TableField("urg_relative")
    @ApiModelProperty(value = "紧急联系人关系")
    private String urgRelative;

    /**
     * 紧急联系人使用语言
     */
    @TableField("urg_lag")
    @ApiModelProperty(value = "紧急联系人使用语言")
    private String urgLag;

    /**
     * 紧急联系人邮箱
     */
    @TableField("urg_email")
    @ApiModelProperty(value = "紧急联系人邮箱")
    private String urgEmail;

    /**
     * 就读高中国家
     */
    @TableField("hsch_cty")
    @ApiModelProperty(value = "就读高中国家")
    private String hschCty;

    /**
     * 高中城市
     */
    @TableField("hsch_city")
    @ApiModelProperty(value = "高中城市")
    private String hschCity;

    /**
     * 高中学校名
     */
    @TableField("hschl_name")
    @ApiModelProperty(value = "高中学校名")
    private String hschlName;

    /**
     * 高中入学时间
     */
    @TableField("hsch_btime")
    @ApiModelProperty(value = "高中入学时间")
    private Date hschBtime;

    /**
     * 高中毕业时间
     */
    @TableField("hsch_etime")
    @ApiModelProperty(value = "高中毕业时间")
    private Date hschEtime;

    /**
     * 就读大学国家
     */
    @TableField("col_cty")
    @ApiModelProperty(value = "就读大学国家")
    private String colCty;

    /**
     * 就读大学省市区
     */
    @TableField("col_add")
    @ApiModelProperty(value = "就读大学省市区")
    private String colAdd;

    /**
     * 大学校名
     */
    @TableField("col_name")
    @ApiModelProperty(value = "大学校名")
    private String colName;

    /**
     * 大学入学时间
     */
    @TableField("col_btime")
    @ApiModelProperty(value = "大学入学时间")
    private Date colBtime;

    /**
     * 大学预计毕业时间
     */
    @TableField("col_etime")
    @ApiModelProperty(value = "大学预计毕业时间")
    private Date colEtime;

    /**
     * 大学毕业学分
     */
    @TableField("col_edu_credit")
    @ApiModelProperty(value = "大学毕业学分")
    private Long colEduCredit;

    /**
     * 大学已修学分
     */
    @TableField("col_credit")
    @ApiModelProperty(value = "大学已修学分")
    private Long colCredit;

    /**
     * 大学就读专业
     */
    @TableField("col_read_pro")
    @ApiModelProperty(value = "大学就读专业")
    private String colReadPro;

    /**
     * 大学辅修专业
     */
    @TableField("col_minor_pro")
    @ApiModelProperty(value = "大学辅修专业")
    private String colMinorPro;

    /**
     * 目前PGA
     */
    @TableField("col_pga")
    @ApiModelProperty(value = "目前PGA")
    private String colPga;

    /**
     * 大学毕业学位
     */
    @TableField("col_degree")
    @ApiModelProperty(value = "大学毕业学位")
    private String colDegree;

    /**
     * 英语等级
     */
    @TableField("eng_level")
    @ApiModelProperty(value = "英语等级")
    private String engLevel;

    /**
     * 英语等级分数
     */
    @TableField("eng_score")
    @ApiModelProperty(value = "英语等级分数")
    private Long engScore;

    /**
     * 英语等级考试时间
     */
    @TableField("eng_time")
    @ApiModelProperty(value = "英语等级考试时间")
    private Date engTime;

    /**
     * 跟进周期
     */
    @TableField("follow_rate")
    @ApiModelProperty(value = "跟进周期")
    private Long followRate;

    /**
     * 逻辑删除
     */
    @TableField("deleted")
    @ApiModelProperty(value = "逻辑删除")
    private Integer deleted;

    @TableField(exist = false)
    @ApiModelProperty(value = "纸质与电子成绩单地址,以JSON字符串数组如[{'id':'新增默认传0','postalCode':'邮编','recName':'收件人','recPhone':'收件人电话','recAdd':'收件人地址','tranType':'地址类型:1纸质2电子','email':'邮箱','backEmail':'备用邮箱'}]")
    private String transcriptAdd;

    @TableField(exist = false)
    @ApiModelProperty(value = "意向信息,以JSON字符串数组如[{'id':'新增默认传0','school':'意向学校','project':'意向项目','course':'意向课程,'authStatus':'课程认证状态,'认证截图地址':'authUrl,'failCause':'失败原因'}]")
    private String purpose;

    @TableField(exist = false)
    private List<StuTranscriptAdd> stuTranscriptAdds;

    @TableField(exist = false)
    private List<StuPurpose> stuPurposes;

    @TableField(exist = false)
    private List<StuRemind> stuReminds;

    /**
     *微信unionid
     */
    @TableField("unionid")
    @ApiModelProperty(value = "微信unionid")
    private String unionid;
    /**
     * 微信openid
     */
    @TableField("openid")
    @ApiModelProperty(value = "微信openid")
    private String openid;
}
